#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import numpy as np
import matplotlib.pyplot as plt
import tools

# 准备数据
X = np.matrix([-4, -3, -2, -1, 0, 1, 2, 3]).reshape(8, 1)
y = np.matrix([0, 0, 0, 0, 1, 1, 1, 1]).reshape(8, 1)

# 显示数据点
plt.scatter(X[0:4, :].A1, y[0:4].A1, color='r')
plt.scatter(X[4:, :].A1, y[4:].A1, color='g')

# 初始化theta
th = np.matrix(np.zeros((2, 1)))

# 加入偏执单元
X = np.hstack([np.ones((8, 1)), X])

# 经测试，3是可以接受的学习率
(theta, J) = tools.gradientDescent(th, X, y, alpha=3, maxIter=100)

# 画出拟合曲线
haty = tools.sigmoid(X * theta)
plt.plot(X[:, 1].A1, haty)

# 保存图片
plt.savefig('oneDBin.png')
